﻿using System.Collections.Generic;
using System.ComponentModel;
using Unijovem.Domain;

namespace Unijovem.UI.Models
{
    public class CampoPerfilModel : ModelBase<CampoPerfilModel, CampoPerfil>
    {
        public enum TipoDados
        {
            [Description("Texto")]
            Texto = 0,
            [Description("Número")]
            Numero = 1,
            [Description("Data")]
            Data = 3,
            [Description("Verdadeiro e falso")]
            Booleano = 4,
            [Description("Grupo de informações")]
            Grupo = 5
        }

        public enum TipoControleHtml
        {
            TextBox = 0,
            TextArea = 1,
            RadioButton = 3,
            CheckBox = 4,
            DropDownList = 5
        }

        public int? IdGrupo { get; set; }
        //public CampoPerfilModel CampoPerfilPai { get; set; }
        public List<CampoPerfilModel> CampoPerfisFilhos { get; set; }
        public List<ValorCampoPerfilModel> ValorCampoPerfils { get; set; }
        public string Nome { get; set; }
        public string Descricao { get; set; }
        public TipoDados Tipo { get; set; }

        public int IdTipo
        {
            get { return (int)Tipo; }
            set
            {
                Tipo = (TipoDados)value;
            }
        }

        public TipoControleHtml TipoControle { get; set; }

        public int IdTipoControle
        {
            get { return (int)TipoControle; }
            set
            {
                TipoControle = (TipoControleHtml)value;
            }
        }

        public bool Obrigatorio { get; set; }
        public string ExpressaoRegular { get; set; }
        public int MaxLenght { get; set; }
        public PerfilModel Perfil { get; set; }
        public bool UsuarioLogado { get; set; }
    }
}